package com.boss.salary.dao;

import com.boss.framework.dto.PaginationDTO;
import com.boss.salary.entity.SalPersonPostRef;
import com.boss.salary.entity.SalPost;

import java.util.List;
import java.util.Map;

public interface ISalPostDao {

    /**
     * 分页数据
     *
     * @param paginationDTO 分页条件
     * @return
     */
    List<SalPost> querySalPostPage(PaginationDTO paginationDTO);

    /**
     * 获取数据量
     *
     * @return
     */
    int querySalPostCount();

    /**
     * 根据code查询
     * @param code
     * @return
     */
    int queryDataByCode(String code);

    /**
     * 新增
     *
     * @param salPost
     */
    void insertSalPost(SalPost salPost);

    /**
     * 修改
     *
     * @param salPost
     */
    void updateSalPost(SalPost salPost);

    /**
     * 根据id删除
     *
     * @param id
     */
    void deleteSalPost(String id);

    /**
     * 查询全部
     *
     * @param queryParam 条件
     * @return
     */
    List<SalPost> querySalPostAll(Map<String, Object> queryParam);

    /**
     * 关联表分页
     *
     * @return
     */
    List<Map<String, Object>> querySalPersonPostRefPage(PaginationDTO paginationDTO);

    /**
     * 关联表数据量
     *
     * @return
     */
    int querySalPersonPostRefCount();

    /**
     * 根据personTypeId删除关联表
     *
     * @return
     */
    void deleteSalPersonPostRefByPersonTypeId(String personTypeId);


    /**
     * 新增关联表
     *
     * @return
     */
    void insertSalPersonPostRef(SalPersonPostRef salPersonPostRef);

    /*
     * 根据personTypeId查询职务
     * */
    List<SalPost> querySalPostByPersonTypeId(String personTypeId);

}
